package test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class List2Array {
	public static void main(String[] args) {
		List<Person> list = new ArrayList<Person>();
		Person p1 = new Person("a11", 11);
		Person p2 = new Person("a22", 22);
		list.add(p1);
		list.add(p2);
		
		Object[] objs = list.toArray();
		for(Object o : objs) {
			Person p = (Person)o;
			p.print();
		}
		
//		Person[] persons = new Person[list.size()];
//		persons = list.toArray(persons);
		Person[] persons = list.toArray(new Person[0]);
		for(Person p : persons) {
			p.print();
		}
		
		//asList 的返回对象是一个 Arrays 内部类，并没有实现集合的修改方法。Arrays.asList
		//体现的是适配器模式，只是转换接口，后台的数据仍是数组 --  即得到的list只能读取，不能增删改
		List<Person> pList = Arrays.asList(persons);
		Person p3 = new Person("a33", 33);
		pList.add(p3);
		for(Person p : pList) {
			p.print();
		}
		
	}
}
